namespace ChumChase.Model
{
    using System.Collections.Generic;
    using System.Windows;
    using Services;

    /// <summary>
    /// The primary interface to be implemented in plugins
    /// </summary>
    public interface IFeedProvider
    {
        string DisplayName { get; }
        IEnumerable<DataTemplate> DataTemplates { get; }
        IFeedProviderSettings Settings { get; }
        IEnumerable<IFeedIdentity> DefaultFeeds { get; }
        IEnumerable<IFeedEntry> GetEntriesFor(string feedId);
        void ApplySettings();
        void LoadSettings(ILocalStorage storage);
        void SaveSettings(ILocalStorage storage);
    }

    public interface IFeedIdentity
    {
        string DisplayName { get; }
    }
}